Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

РОБОТА З ТЕКСТОВИМИ ФАЙЛАМИ. СИМВОЛЬНІ ТА РЯДКОВІ ЗМІННІ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови і програмування
Група:
ІБ
Варіант:
20

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА кафедра „ЗАХИСТ ІНФОРМАЦІЇ”  EMBED Word.Picture.8  ЗВІТ до лабораторної роботи № 7 З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ” на тему: „РОБОТА З ТЕКСТОВИМИ ФАЙЛАМИ. СИМВОЛЬНІ ТА РЯДКОВІ ЗМІННІ” Варіант № 20 Виконав: студент групи ІБ – 1 Львів – 2007 Мета роботи – навчитися працювати з файлами та з розробленими процедурами мови Сі для роботи з стрічками, вивчити синтаксис опису функцій для роботи з файлами та стрічками. 2. ПОВНИЙ ТЕКС ЗАВДАННЯ Знайти кількість приголосних літер в кожному рядку заданого файлу. Вивести на екран рядки файлу в порядку збільшення кількості приголосних літер в цих рядках. Сформувати та вивести на екран текстовий файл, в якому замінити символи “;” словами “END_LINE”. Пошук символу “;” оформити у вигляді підпрограми. Програму написати з використанням розроблених процедур та функцій для роботи зі стрічками. 3. ОСТАТОЧНА ВЕРСІЯ БЛОК-СХЕМИ АЛГОРИТМУ  EMBED Visio.Drawing.6  Блок-схема функції IsProcedure(s)  EMBED Visio.Drawing.6  4. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР І ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ in, out – покажчики на тип FILE за допомогою яких отримуємо доступ до файлів на диску; tmp, buf – масиви символів; lines – масив користувацької структури; i, j – змінні типу int для зберігання введених даних та результату роботи програми; clrscr() – функція очистки екрана яка об’явлена в модулі conio.h; getch() – функція яка чекає натискання будь-якої клавіші; printf() – функція виведення текстових повідомлень і значень змінних на екран; fopen(fPath,s) – функція яка відкриває файл fPath у режимі s (fPath i s – стрічки) та повертає покажчик на тип FILE тим самим зв’язуючи цей покажчик з файлом на диску; fclose(file) – функція, яка закриває файл зв’язаний з покажчиком file; fgets(buf, n, file) – функція, яка закриває зчитує з файла file рядок символів у масив buf, де n – розмір масиву buf; fputs(s, file) – функція, яка записує у файл file рядок s; strcat(s1, s2) – функція, яка дописує до рядка s1 рядок s2; strstr(s1, s2) – функція, яка повертає покажчик на перший символ входження рядка s2 в рядок s1. Якщо рядок s1 не містить рядка s2 то функція повертає NULL; Користувацькі функції rEnd_Line(s) – функція яка замінює символи “;” на слово “END_LINE” в рядку s; SortLines() – впорядковує рядки шляхом заміни покажчиків на ці рядки в масиві структури; nPrugol(s) – повертає кількість приголосних букв у стрічці s; 5. ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #define IN "Lab3_v20.pas" #define OUT "Out.txt" #define MAX 256 struct { char *s; int n; } lines[MAX]; int nStr=0; //======================================================= void rEnd_Line(char *s) { char buf[MAX]; buf[0]=0; char *tmp,*p=s; while (tmp=strstr(p,";")) { *tmp=0; strcat(buf,p); strcat(buf,"END_LINE"); p=tmp+1; } strcat(buf,p); strcpy(s,buf); } //======================================================= void SortLines() { int i=1,j; for (i=1;i<nStr;i++) for (j=nStr-1;j>=i;j--) if (lines[j-1].n>lines[j].n) { char *p=lines[j-1].s; lines[j-1].s=lines[j].s; lines[j].s=p; int t = lines[j-1].n; lines[j-1].n=lines[j].n; lines[j].n=t; } } //======================================================= int nPrugol(char *s) { const int n=10; int np=0; char szGol[]="AaEeIiOoYy"; while (*s) { if (*s>='A' && *s<='Z' || *s>='a' && *s<='z') { np++; for (int j=0; j<n; j++) if (*s==szGol[j]) np--; } s++; } return np; } //======================================================= void main(void) { FILE *in,*out; char tmp[MAX]; in=fopen(IN,"r"); out=fopen(OUT,"w"); while (1) { if (fgets(tmp,MAX,in)==NULL) break; lines[nStr].s=(char*)malloc(strlen(tmp)); strcpy(lines[nStr].s,...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини